package Controller.User;

import Controller.MainState.MainState;

import java.util.Objects;

/**
 * 用户接口
 */
public interface User {
    String getId();

    String getPassword();

    /**
     * 用户尝试登录，进行信息维护
     * 包括填写日志和填写详细信息
     * @param username 用户id
     * @return 信息完善是否正确
     */
    Boolean tryToLogin(String username);

    /**
     * 用户登出
     * 完善日志并且提交
     */
    void Logout();

    /**
     * 返回用户类型
     * @return 用户类型
     */
    UserType getUSerType();

    Object getDetailInformation();

    MainState getMainState();

    String getUsername();
}
